import java.util.HashMap;
import java.util.Map;
import java.util.Stack;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: asus
 * Date: 2025-01-02
 * Time: 9:54
 */
public class RomanToInt {
    public int romanToInt(String s) {
        Map<Character, Integer> map = new HashMap<>();
        map.put('I', 1);
        map.put('V', 5);
        map.put('X', 10);
        map.put('L', 50);
        map.put('C', 100);
        map.put('D', 500);
        map.put('M', 1000);
        map.put('0', 0);
        int ret = 0;
        int len = s.length();
        for (int i = 0; i < len; i++) {
            int cur = map.get(s.charAt(i));
            if (i < len - 1 && cur < map.get(s.charAt(i+1))) {
                ret -= cur;
            } else {
                ret += cur;
            }
        }
        return ret;
//        Stack<Character> stack = new Stack<>();
//        for (char c :
//                s.toCharArray()) {
//            stack.push(c);
//        }
//        char pre = '0';
//        int ret = 0;
//        while (!stack.isEmpty()) {
//            char cur = stack.pop();
//            int curInt = map.get(cur);
//            int preInt = map.get(pre);
//            if (curInt >= preInt) {
//                ret += curInt;
//            } else {
//                ret -= curInt;
//            }
//            pre = cur;
//        }
//        return ret;
    }
}
